#tests: test_name, ' ', status(PASSED | FAILED | ERROR), ' ', [exception, { trace_mut_index | '(', { alternative_trace_mut_index, ',' }, ')' }]
jester.tests.IgnoreListTest:testReadingEmptyIgnoreValues()V PASSED
jester.tests.IgnoreListTest:testReadingIgnoreValues()V ERROR java.lang.NullPointerException 50 
jester.tests.IgnoreListTest:testReadingIgnoreValuesEndOfLineSpecialCase()V ERROR java.lang.NullPointerException 50 
jester.tests.IgnoreListTest:testReadingMultipleIgnoreValues()V ERROR java.lang.NullPointerException 50 
jester.tests.IgnoreListTest:testReadingMultipleIgnoreBlankLines()V ERROR java.lang.NullPointerException 50 
jester.tests.IgnoreListTest:testReadingIncorrectFile()V ERROR java.lang.NullPointerException 50 
jester.tests.TestTesterTest:testTestsMustStartOffWorking()V PASSED
jester.tests.TestTesterTest:testThatTestRunByIterator()V FAILED junit.framework.AssertionFailedError 74 
jester.tests.ReportItemTest:testXmlEncoding()V PASSED
jester.tests.ReportItemTest:testLineNumberOneLine()V FAILED junit.framework.AssertionFailedError 
jester.tests.ReportItemTest:testLineNumberSomeLines()V FAILED junit.framework.AssertionFailedError 
jester.tests.TwoStringSwappingCodeManglerTest:testCouldntMangle()V ERROR java.lang.NullPointerException 110 45 
jester.tests.TwoStringSwappingCodeManglerTest:testSimpleMangle1()V ERROR java.lang.NullPointerException 110 45 
jester.tests.ReportTest:testBottomScore()V PASSED
jester.tests.ReportTest:testCantFinishDifferentFile()V PASSED
jester.tests.ReportTest:testCantStartTwoFiles()V PASSED
jester.tests.ReportTest:testChangesToSameFileOrderedByIndex()V PASSED
jester.tests.ReportTest:testFileScoreSeparateFromTotalScore()V PASSED
jester.tests.ReportTest:testInitialScore()V PASSED
jester.tests.ReportTest:testMediumScore()V PASSED
jester.tests.ReportTest:testThatChangeThatCausedTestsToFailIsNotIncluded()V PASSED
jester.tests.ReportTest:testThatChangeThatDidNotCauseTestsToFailIsIncluded()V PASSED
jester.tests.ReportTest:testTopScore()V PASSED
jester.tests.ReportTest:testTotalScoreForManyFiles()V PASSED
jester.tests.ReportTest:testFileMustBeStarted()V PASSED
jester.tests.MutationsListTest:testDefaults()V PASSED
jester.tests.MutationsListTest:testReadMutations()V FAILED junit.framework.AssertionFailedError 18 115 (37,62) 
jester.tests.MutationsListTest:testReadMutationsIgnoreBogusLinesIncludingBlankOnes()V FAILED junit.framework.AssertionFailedError 18 115 (37,62) 
jester.tests.MainArgumentsTest:testMissingArgumentsCauseExceptionToBeThrown()V ERROR java.lang.IndexOutOfBoundsException 21 54 
jester.tests.MainArgumentsTest:testMissingFileCauseExceptionToBeThrown()V PASSED
jester.tests.MainArgumentsTest:testMandatoryArguments()V ERROR jester.JesterArgumentException 21 54 
jester.tests.MainArgumentsTest:testThatMultipleMutationDirectoriesOrFilesAreAllowed()V ERROR jester.JesterArgumentException 21 54 
jester.tests.MainArgumentsTest:testClasspathArgument()V ERROR jester.JesterArgumentException 21 54 
jester.tests.MainArgumentsTest:testThatOneCanSpecifyOptionToNotShowProgressDialog()V ERROR jester.JesterArgumentException 21 54 
jester.tests.MainArgumentsTest:testThatClasspathArgumentCanAppearFirst()V ERROR jester.JesterArgumentException 21 54 30 
jester.tests.MainArgumentsTest:testThatClasspathArgumentCanAppearSecond()V ERROR jester.JesterArgumentException 21 54 30 
jester.tests.MainArgumentsTest:testThatClasspathArgumentCanAppearLast()V ERROR jester.JesterArgumentException 21 54 30 
jester.tests.MainArgumentsTest:testThatClasspathArgumentCanAppearInMiddleOfDirectoriesBecauseThereIsNoHarmInIt()V ERROR jester.JesterArgumentException 21 54 30 
jester.tests.ConfigurationTest:testDefaults()V PASSED
jester.tests.XMLReportWriterTest:testWritingChangesAsXMLHasBothGivenAndAbsoluteFilePaths()V PASSED
jester.tests.SimpleIntCodeManglerTest:testCouldntMangle()V ERROR java.lang.NullPointerException 23 76 45 
jester.tests.SimpleIntCodeManglerTest:testContinuesIfChangeFails()V ERROR java.lang.NullPointerException 23 76 45 
jester.tests.SimpleIntCodeManglerTest:testContinuesIfChangeSucceeds()V ERROR java.lang.NullPointerException 23 76 45 
jester.tests.SimpleIntCodeManglerTest:testDoesntTryToChangeBadlyNamedMethodCalls()V ERROR java.lang.NullPointerException 23 76 45 
jester.tests.SimpleIntCodeManglerTest:testSimpleMangle()V ERROR java.lang.NullPointerException 23 76 45 
jester.tests.SimpleIntCodeManglerTest:testBug955882()V ERROR java.lang.NullPointerException 23 76 45 
jester.tests.IgnoreListDocumentTest:testTextIsIgnored()V ERROR java.lang.NullPointerException 50 104 
jester.tests.IgnoreListDocumentTest:testTextIsIgnoredForMultipleIgnores()V ERROR java.lang.NullPointerException 50 104 
jester.tests.IgnoreListDocumentTest:testCharAtReturnsSpaceInsideIgnoreRegion()V ERROR java.lang.NullPointerException 50 104 
jester.tests.ClassTestTesterTest:testThatChangeThatFailsTestsIsNotRecorded()V ERROR java.lang.NullPointerException 23 76 45 105 66 
jester.tests.ClassTestTesterTest:testThatChangeThatPassesTestsIsRecorded()V ERROR java.lang.NullPointerException 23 76 45 105 66 
jester.tests.ClassTestTesterTest:testThatOriginalContentsAreNotWrittenBackIfNoChanges()V ERROR java.lang.NullPointerException 23 76 45 105 66 
jester.tests.ClassTestTesterTest:testThatOriginalContentsAreWrittenBack()V ERROR java.lang.NullPointerException 23 76 45 105 66 
jester.tests.ClassTestTesterTest:testThatMutationListIsUsed()V ERROR java.lang.NullPointerException 23 76 45 105 66 
jester.tests.acceptancetests.VeryTestedTest:testBoolean()V PASSED
jester.tests.acceptancetests.VeryTestedTest:testConditionFalseBranch()V PASSED
jester.tests.acceptancetests.VeryTestedTest:testConditionTrueBranch()V PASSED
jester.tests.acceptancetests.VeryTestedTest:testDecrement()V PASSED
jester.tests.acceptancetests.VeryTestedTest:testEqual()V PASSED
jester.tests.acceptancetests.VeryTestedTest:testIncrement()V PASSED
jester.tests.acceptancetests.VeryTestedTest:testInfiniteLoop()V PASSED
jester.tests.acceptancetests.VeryTestedTest:testInt()V PASSED
jester.tests.acceptancetests.VeryTestedTest:testNotEqual()V PASSED
jester.tests.functionaltests.VeryTestedTest:testNumber()V PASSED

#uuts: uut_name, [ '|', mutator_class, '|', change_position_in_file_buffer, '|', change ]
jester.tests.MockMutationsList:MockMutationsList()V
jester.TestTester:TestTester(Ljester.TestRunner;Ljester.ClassIterator;Ljester.ClassTestTester;)V
jester.ReportItem:compareToReportItem(Ljester.ReportItem;)I
jester.SimpleCodeMangler:getOriginalContents()Ljester.IgnoreListDocument; | RETURN | 458 | return null
jester.tests.MockClassSourceChanger:setOriginalContents(Ljava.lang.String;)V
jester.tests.TestConfiguration:shouldReportEagerly()Z
jester.RealReport:fileNumberOfChanges()I
jester.RealReport:redBar()V
jester.RealReport:totalScore()I
jester.ReportItem:asXML()Ljava.lang.String;
jester.SimpleCodeMangler:SimpleCodeMangler(Ljester.ClassSourceCodeChanger;)V
jester.RealReport:fileNumberOfChangesThatDidNotCauseTestsToFail()I
jester.RealReport:changeThatDidNotCauseTestsToFail(ILjava.lang.String;Ljava.lang.String;)V
jester.tests.MockProgressReporter:progress()V
jester.tests.MockClassSourceChanger:MockClassSourceChanger()V
jester.RealXMLReportWriter:RealXMLReportWriter(Ljava.io.Writer;)V
jester.RealConfiguration:shouldReportEagerly()Z
jester.tests.MockClassSourceChanger:setThrowExceptionOnFirstChangeAttempt(Z)V
jester.tests.MockMutationMaker:mutate(Ljava.lang.String;Ljava.lang.String;)V
jester.tests.MockTestRunner:testsRunWithoutFailures()Z
jester.IgnoreListDocument:substring(II)Ljava.lang.String;
jester.MainArguments:setTestClassFromArguments(Ljava.util.List;)V | CONDITION | 3067 | if (x) -> if (!x)
jester.SimpleCodeMangler:getIndexOfLastChange()I
jester.SimpleIntCodeMangler:indexOfNumber(Ljester.IgnoreListDocument;)I
jester.tests.MockMutationMaker:addExpectedMutateValues(Ljava.lang.String;Ljava.lang.String;)V
jester.tests.MockTestRunner:MockTestRunner()V
jester.tests.MockClassIterator:MockClassIterator()V
jester.tests.TwoStringSwappingCodeManglerTest:newCodeMangler(Ljester.ClassSourceCodeChanger;)Ljester.CodeMangler;
jester.tests.MockClassSourceChanger:setExpectedWriteOverSourceReplacingCalls(I)V
jester.tests.ClassTestTesterTest:newRealClassTestTester(Ljester.TestRunner;)Ljester.ClassTestTester;
jester.tests.MainArgumentsTest:checkThatClasspathArgumentCanAppearInAnyOrder([Ljava.lang.String;)V
jester.tests.acceptancetests.VeryTested:mustNotBeEqual()Z
jester.RealReport:printFileChanges()V
jester.ReportItem:ReportItem(Ljava.lang.String;Ljester.IgnoreListDocument;ILjava.lang.String;Ljava.lang.String;)V
jester.RealConfiguration:RealConfiguration(Ljava.lang.String;Ljava.io.PrintStream;)V
jester.RealReport:reportItemComparitor()Ljava.util.Comparator;
jester.ReportItem:toString()Ljava.lang.String;
jester.RealMutationsList:visit(Ljava.io.BufferedReader;Ljester.MutationMaker;)V
jester.RealLogger:RealLogger()V
jester.RealMutationsList:RealMutationsList(Ljava.lang.String;Ljava.io.PrintStream;)V
jester.TestTester:run()V | STATEMENT | 5225 | stmt -> ;
jester.RealXMLReportWriter:writeXMLReport([Ljava.lang.Object;Ljava.lang.String;III)V
jester.tests.acceptancetests.VeryTested:mustIncrement(I)I
jester.RealConfiguration:isTrueProperty(Ljava.lang.String;Z)Z
jester.tests.MockMutationMaker:MockMutationMaker()V
jester.SimpleCodeMangler:makeChangeToClass()Z | OPERATOR | 1035 | != -> <
jester.tests.MockClassSourceChanger:setOriginalContents(Ljava.lang.String;Ljester.IgnoreList;)V
jester.RealReport:startFile(Ljava.lang.String;Ljester.IgnoreListDocument;)V
jester.RealConfiguration:testRunningCommand()Ljava.lang.String;
jester.tests.acceptancetests.VeryTested:turnIntoInfiniteLoop()V
jester.IgnoreList:ignorePairs()Ljava.util.List; | ASSIGN | 594 | = null
jester.IgnoreList:IgnoreList(Ljava.lang.String;)V
jester.RealReport:score(II)I
jester.tests.acceptancetests.VeryTested:mustReturnTrue()Z
jester.MainArguments:readArguments([Ljava.lang.String;)V
jester.tests.MockClassSourceChanger:setExpectedFinishJestingCalls(I)V
jester.tests.MockXMLReportWriter:writeXMLReport([Ljava.lang.Object;Ljava.lang.String;III)V
jester.RealReport:reportFileProgress()V
jester.tests.MockMutationsList:setExpectedVisitCalls(I)V
jester.tests.MockProgressReporter:setText(Ljava.lang.String;)V
jester.tests.MockClassSourceChanger:setExpectedWriteOverSourceReplacing(ILjava.lang.String;Ljava.lang.String;)V
jester.tests.acceptancetests.VeryTested:mustReturnOne()I
jester.RealMutationsList:visit(Ljester.MutationMaker;)V
jester.JesterArgumentException:JesterArgumentException(Ljava.lang.String;)V
jester.SourceChangeException:SourceChangeException(Ljava.lang.String;)V
jester.tests.MockClassSourceChanger:setExpectedWriteOriginalBackCalls(I)V
jester.RealClassTestTester:testUsing(Ljester.ClassSourceCodeChanger;)V
jester.RealReport:writeChangesToXMLFile()V
jester.tests.MockClassSourceChanger:setExpectedLastChangeDidNotCauseTestsToFailCalls(I)V
jester.tests.acceptancetests.VeryTested:mustBeEqual()Z
jester.ReportItem:xmlEncoded(Ljava.lang.String;)Ljava.lang.String;
jester.tests.ReportItemTest:newReportItem(Ljava.lang.String;Ljava.lang.String;Ljava.lang.String;I)Ljester.ReportItem;
jester.IgnoreListDocument:IgnoreListDocument(Ljava.lang.String;Ljester.IgnoreList;)V
jester.RealReport:RealReport(Ljester.Configuration;Ljava.io.PrintWriter;Ljester.XMLReportWriter;Ljester.ProgressReporter;)V
jester.tests.MockClassIterator:verify()V
jester.tests.IgnoreListTest:ignorePair(Ljava.lang.String;Ljava.lang.String;)Ljester.IgnorePair;
jester.SimpleIntCodeMangler:makeSomeChangeToFileSource()Z
jester.tests.ReportTest:newRealReport()Ljester.Report;
jester.RealReport:totalNumberOfChanges()I
jester.tests.functionaltests.VeryTested:VeryTested()V
jester.tests.ReportTest:startFile(Ljester.Report;Ljava.lang.String;Ljava.lang.String;)V
jester.RealReport:fileScore()I
jester.RealConfiguration:testsPassString()Ljava.lang.String;
jester.TwoStringSwappingCodeMangler:TwoStringSwappingCodeMangler(Ljester.ClassSourceCodeChanger;Ljava.lang.String;Ljava.lang.String;)V
jester.RealClassTestTester:RealClassTestTester(Ljester.TestRunner;Ljester.MutationsList;)V
jester.tests.MockClassIterator:setExpectedIterate(Ljester.ClassTestTester;)V
jester.RealReport:greenBar()V
jester.RealConfiguration:compilationCommand()Ljava.lang.String;
jester.IgnorePair:IgnorePair(Ljava.lang.String;Ljava.lang.String;)V
jester.RealReport:finishFile(Ljava.lang.String;)V
jester.tests.acceptancetests.VeryTested:mustTakeCorrectBranchFor(Z)I
jester.RealConfiguration:closeUIOnFinish()Z
jester.IgnoreListDocument:length()I
jester.RealConfiguration:stringProperty(Ljava.lang.String;Ljava.lang.String;)Ljava.lang.String;
jester.tests.ReportTest:newRealReport(Ljava.io.PrintWriter;)Ljester.Report;
jester.RealConfiguration:sourceFileExtension()Ljava.lang.String;
jester.tests.MockClassSourceChanger:setExpectedLastChangeCausedTestsToFailCalls(I)V
jester.SimpleIntCodeMangler:SimpleIntCodeMangler(Ljester.ClassSourceCodeChanger;)V
jester.tests.MockTestRunner:setTestsRunWithoutFailures(Z)V
jester.tests.MockClassSourceChanger:setExpectedStartJestingCalls(I)V
jester.RealReport:changeThatCausedTestsToFail(ILjava.lang.String;Ljava.lang.String;)V
jester.ReportItem:lineNumber()I | STATEMENT | 1939 | stmt -> ;
jester.tests.MockClassSourceChanger:startJesting()V
jester.tests.MockMutationMaker:verify()V
jester.IgnoreListDocument:calculateIgnoreRegions()V
jester.RealClassTestTester:test(Ljester.CodeMangler;Ljester.ClassSourceCodeChanger;)V
jester.RealReport.1:compare(Ljava.lang.Object;Ljava.lang.Object;)I
jester.RealReport:sortedReportItems()[Ljava.lang.Object;
jester.tests.ReportItemTest:lineNumberForCharacterIndex(Ljava.lang.String;I)I
jester.tests.MockClassTestTester:MockClassTestTester()V
jester.TwoStringSwappingCodeMangler:makeSomeChangeToFileSource()Z
jester.MainArguments:MainArguments([Ljava.lang.String;Ljester.FileExistenceChecker;)V
jester.tests.MockProgressReporter:setColor(Ljava.awt.Color;)V
jester.tests.MockClassIterator:setExpectedIterateCalls(I)V
jester.tests.functionaltests.VeryTested:mustReturnOne()I
jester.RealMutationsList:visitLine(Ljava.lang.String;Ljester.MutationMaker;)V | ASSIGN | 2208 | = null
jester.tests.TestConfiguration:TestConfiguration()V
jester.tests.acceptancetests.VeryTested:mustDecrement(I)I

#matrix (1 line per test, in order of tests): { mut_index, ' ', mut_call_count, ' ' }
50 1 51 1 
88 1 75 1 50 1 51 1 
88 1 75 1 50 1 51 1 
88 1 75 1 50 1 51 1 
88 1 75 1 50 1 51 1 
50 1 51 1 
25 1 19 1 40 1 1 1 64 1 98 1 
74 1 19 1 1 1 109 1 98 1 113 1 25 1 26 1 40 1 85 1 
9 1 33 1 70 1 104 1 71 1 50 1 72 1 51 1 
33 1 20 1 92 1 108 1 101 1 104 1 71 1 50 1 51 1 72 1 
33 1 20 1 92 1 108 1 101 1 104 1 71 1 50 1 51 1 72 1 
22 1 3 1 4 1 45 1 110 1 46 1 10 1 27 1 104 1 28 1 14 1 50 1 83 1 51 1 72 1 
22 1 3 1 4 1 60 1 45 1 110 1 46 1 10 1 27 1 104 1 14 1 50 1 83 1 51 1 72 1 
33 1 52 2 92 2 59 1 94 1 36 1 5 1 6 1 7 1 8 1 11 2 12 1 101 1 104 1 72 1 73 1 20 2 77 1 78 1 112 1 47 1 81 1 80 1 50 1 116 1 51 1 
73 1 89 1 77 1 94 1 64 1 47 1 80 1 104 1 50 1 116 1 51 1 72 1 
47 1 73 1 80 1 104 1 77 1 94 1 50 1 64 1 116 1 72 1 51 1 
32 1 52 2 33 1 89 1 56 1 92 4 57 1 2 2 59 1 35 2 94 1 36 2 5 1 6 4 7 1 11 8 67 1 12 1 101 2 13 1 104 1 106 2 72 1 73 1 107 2 20 4 112 1 47 1 81 2 80 1 50 1 116 1 51 1 
32 1 52 4 33 2 89 1 56 1 92 6 57 1 59 2 35 2 94 1 36 3 5 1 6 5 8 1 7 1 11 10 100 1 67 1 101 3 12 1 13 1 104 1 72 1 73 1 107 2 20 6 77 1 78 1 112 2 47 1 81 3 80 1 50 1 86 1 116 1 51 1 
73 1 52 2 77 1 94 1 78 1 6 1 8 1 47 1 11 2 80 1 81 1 104 1 50 1 116 1 72 1 51 1 
52 2 33 2 92 4 59 2 94 1 36 2 5 1 6 1 7 1 8 1 11 2 100 1 101 2 12 1 104 1 72 1 73 1 20 4 77 1 78 1 112 2 47 1 81 1 80 1 50 1 86 1 116 1 51 1 
32 1 52 2 33 1 89 1 56 1 92 2 57 1 59 1 35 2 94 1 36 1 6 4 11 8 100 1 67 1 101 1 13 1 104 1 72 1 73 1 107 2 20 2 112 1 47 1 81 2 80 1 50 1 86 1 116 1 51 1 
32 1 52 2 33 1 89 1 56 1 92 4 57 1 59 1 35 2 94 1 36 2 5 1 6 4 7 1 11 8 67 1 12 1 101 2 13 1 104 1 72 1 73 1 107 2 20 4 112 1 47 1 81 2 80 1 50 1 116 1 51 1 
33 1 52 2 92 2 59 1 94 1 36 1 6 1 8 1 11 2 100 1 101 1 104 1 72 1 73 1 20 2 77 1 78 1 112 1 47 1 81 1 80 1 50 1 86 1 116 1 51 1 
32 1 52 4 33 2 89 1 56 1 57 1 92 6 2 2 59 2 35 2 94 1 36 3 5 1 6 5 8 1 7 1 11 10 100 1 67 1 101 3 12 1 13 1 104 1 106 2 72 1 73 1 107 2 20 6 77 1 78 1 112 2 47 1 80 1 81 3 50 1 86 1 116 1 51 1 
73 1 100 1 12 1 77 1 94 1 64 2 116 1 
18 1 44 1 62 1 24 1 39 1 103 1 
18 1 44 1 24 1 37 1 39 1 115 1 
18 1 44 1 24 1 37 1 39 1 115 1 
54 1 21 1 111 1 
54 1 21 1 111 1 63 1 
54 1 21 1 111 1 63 1 
54 1 21 1 111 1 63 1 
54 1 21 1 111 1 63 1 
54 1 21 1 111 1 63 1 
54 1 21 1 111 1 63 1 30 1 
54 1 21 1 111 1 63 1 30 1 
54 1 21 1 111 1 63 1 30 1 
54 1 21 1 111 1 63 1 30 1 
16 1 43 2 91 1 93 4 34 1 95 1 38 1 82 1 48 1 87 1 
9 1 33 1 41 1 70 1 104 1 50 1 15 1 72 1 51 1 
76 1 22 1 3 1 4 1 45 1 97 1 23 1 46 1 10 1 104 1 28 1 14 1 50 1 51 1 72 1 
17 1 76 1 22 1 3 1 4 1 60 1 45 1 97 1 23 1 46 1 10 1 104 1 28 1 14 1 50 1 51 1 72 1 
17 1 76 1 22 1 3 1 4 1 60 1 45 1 97 1 23 1 46 1 10 1 104 1 28 1 14 1 50 1 51 1 72 1 
76 1 22 1 3 1 4 1 45 1 97 1 23 1 46 1 10 1 104 1 28 1 14 1 50 1 51 1 72 1 
76 1 22 1 3 1 4 1 60 1 45 1 97 1 23 1 46 1 10 1 104 1 14 1 50 1 51 1 72 1 
76 1 22 1 3 1 4 1 60 1 45 1 97 1 23 1 46 1 10 1 104 1 14 1 50 1 51 1 72 1 
104 1 50 1 72 1 51 1 
104 1 50 1 72 1 51 1 
104 1 50 1 72 1 51 1 
0 1 55 1 3 1 60 1 4 1 96 1 97 1 98 1 99 1 65 1 10 1 66 1 68 1 104 1 102 1 105 1 14 1 72 1 76 1 22 1 45 1 23 1 46 1 25 1 28 1 50 1 29 1 84 1 51 1 
0 1 55 1 3 1 60 1 4 1 96 1 97 1 98 1 99 1 65 1 10 1 66 1 68 1 104 1 102 1 105 1 14 1 72 1 76 1 22 1 45 1 23 1 46 1 25 1 28 1 50 1 29 1 84 1 51 1 
0 1 55 1 3 1 4 1 96 1 97 1 99 1 65 1 66 1 10 1 68 1 104 1 102 1 105 1 14 1 72 1 76 1 22 1 45 1 23 1 46 1 25 1 28 1 50 1 29 1 84 1 51 1 
0 1 55 1 3 1 60 1 4 1 96 1 97 1 99 1 65 1 10 1 66 1 68 1 104 1 102 1 105 1 14 1 72 1 76 1 22 1 45 1 23 1 46 1 25 1 28 1 50 1 29 1 84 1 51 1 
0 1 58 1 3 1 4 1 97 1 66 1 10 1 104 1 102 1 105 1 14 1 72 1 76 1 22 1 45 1 23 1 46 1 25 1 50 1 84 1 51 1 
53 1 
90 1 
90 1 
117 1 
69 1 
42 1 
49 1 
61 1 
31 1 
114 1 79 1 
